#ifndef __ITSBuilder_H__
#define __ITSBuilder_H__

#include "IESParser.h"
#include "CTS.h"
#include <vector>

/**
This interface represets an output streamer- 
outputs the Aus that were collected to different streams.
*/
class ITSBuilder
{
public:
	/**
	This function gets cESParser that holds the raw data it read from the ES stream
	It goes through the data and builds TS packets from it.
	then when the new TS packet is ready - it puts it to TS list.
    @param cESParser- the CESParser class that holds the data from the ES stream
	*/
	virtual void findTS(IESParser* cESParser) = 0;

	/**
	Return a list of Tss that were read with a specific PID
	@param PID the pid of the wanted Tss
	@return a vector of TSs
	*/
	virtual std::vector<CTS*>* getTs(unsigned int PID) = 0;

	virtual ~ITSBuilder(){};
};

#endif // __ITSBuilder_H__
